Method for the enhancement of complex peaks

ABSTRACT

A method ( 200 ) of enhanced peak detection in a correlation signal (g(x)) is disclosed. The method ( 200 ) comprises identifying ( 215 ) in the correlation signal (g(x)) positions where the modulus value of the correlation signal is above a first predetermined value. Each of the identified positions is then processed by forming ( 220 ) a sub-signal from the correlation signal by isolating a region of samples, the region comprising substantially equal numbers of samples on opposite sides of the identified position. The sub-signal is then up-sampled ( 221, 222, 225 ) to a higher resolution using Fourier interpolation. The up-sampled sub-signal is searched ( 230 ) for a peak value, and when the peak value is greater than a second predetermined value, parameters associated with the peak value is stored ( 236 ).

TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to detecting peaks in sampledcorrelation signals and, in particular, to detecting an underlying peakposition when the peak itself is not necessarily visible in the sampledcorrelation signal.

BACKGROUND ART

The need to detect peaks in signals occurs as part of many schemes andmethods of data analysis. One such area is object detection usingcorrelation. The output of a correlation detector is a signal in whichthe positions of peaks indicate the positions where the object waspresent.

For example, watermarking often relies on the imperceptible embedding ofa known pattern in a signal, with the signal being a single-dimensionalsignal, or multi-dimensional signal such as an image, video or 3D space.The detection of the presence of the known embedded pattern is thenfacilitated by a matched filtering operation, which is commonly calledcorrelation. The result of correlation of suitable patterns is a sharppeak at the position of best overlap between the known pattern and thesignal with the embedded pattern. However, it is often desirable to makethe intensity of the embedded pattern as small as reasonably possible,thereby allowing the embedded pattern to be imperceptible by a human.For example, it is desirable for the embedded pattern to beimperceptible to the human eye in the case of an image watermarking, orhuman ear in the case of audio watermarking.

Due to the low intensity of the embedded pattern, the correlation peakmay be only marginally above the background noise level in thecorrelation signal. Additionally, it often occurs that the correlationpeak does not correspond with a signal sample position. The result isthat the correlation peak appears attenuated, compared to its ideal, orpotential peak value. This is potentially problematic as a peak may bemissed in a peak detection process because the peak may not have a valuehigher than a predetermined value. Another potential problem is that,even when the peak is appropriately detected, the location of the peakmay be incorrectly ascribed, as the true location of the peak issomewhere between sample positions.

SUMMARY OF THE INVENTION

It is an object of the present invention to substantially overcome, orat least ameliorate, one or more disadvantages of existing arrangements.

According to a first aspect of the invention, there is provided a methodof enhanced peak detection in a correlation signal, said methodcomprising the steps of:

-   -   (a) identifying in said correlation signal at least one position        with a modulus value above a first predetermined value; and    -   (b) for each said identified position performing the steps of:        -   (ba) forming a sub-signal by isolating a region of samples            of said correlation signal, said region comprising            substantially equal numbers of samples on opposite sides of            said position;        -   (bb) up-sampling said sub-signal to a higher resolution            using Fourier interpolation;        -   (bc) searching said up-sampled sub-signal for a peak value;            and        -   (bd) storing parameters associated with said peak value when            said peak value is greater than a second predetermined            value.

According to another aspect of the invention, there is provided anapparatus for implementing the method.

Other aspects of the invention are also disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

One or more embodiments of the present invention will now be describedwith reference to the drawings, in which:

FIG. 1 is a schematic block diagram of a general-purpose computer uponwhich arrangements described can be practiced;

FIG. 2A shows an example signal in which a test pattern is embedded;

FIG. 2B shows the test pattern embedded in FIG. 2A;

FIG. 2C shows the magnitude of the correlation signal resulting fromcorrelating the example signal with the test pattern;

FIG. 3A shows the magnitude values formed from isolating 8 values aroundthe peak of the correlation signal shown in FIG. 2C;

FIG. 3B shows the magnitude of an up-sampled correlation signal of the 8values around the peak of the correlation signal shown in FIG. 3A;

FIGS. 3C and 3D show an ideal correlation peak and its associatedup-sampled correlation signal;

FIG. 4 shows a method of enhanced peak detection in a correlationsignal;

FIG. 5 illustrates a process of calculating the correlation of a signalwith a test pattern to form a correlation signal;

FIG. 6 shows a watermarking detection method which utilizes the peakdetection arrangement of FIG. 4; and

FIGS. 7A and 7B show the real and imaginary parts respectively of atypical two dimensional LRHF.

DETAILED DESCRIPTION INCLUDING BEST MODE

Some portions of the description which follows are explicitly orimplicitly presented in terms of algorithms and symbolic representationsof operations on data within a computer memory. These algorithmicdescriptions and representations are the means used by those skilled inthe data processing arts to most effectively convey the substance oftheir work to others skilled in the art. An algorithm is here, andgenerally, conceived to be a self-consistent sequence of steps leadingto a desired result. The steps are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It has proven convenient at times, principally for reasonsof common usage, to refer to these signals as values, functions,patterns, numbers, arrays or the like.

The present specification also discloses apparatus for performing theoperations of the methods. Such apparatus may be specially constructedfor the required purposes, or may comprise a general-purpose computer orother device selectively activated or reconfigured by a computer programstored in the computer. Various general-purpose machines may be usedwith programs in accordance with the teachings herein. Alternatively,the construction of more specialized apparatus to perform the requiredmethod steps may be appropriate. The structure of a conventionalgeneral-purpose computer will appear from the description below.

In addition, the present specification also discloses a computerreadable medium comprising a computer program for performing theoperations of the methods. The computer readable medium is taken hereinto include any transmission medium for communicating the computerprogram between a source and a designation. The transmission medium mayinclude storage devices such as magnetic or optical disks, memory chips,or other storage devices suitable for interfacing with a general-purposecomputer. The transmission medium may also include a hard-wired mediumsuch as exemplified in the Internet system, or wireless medium such asexemplified in the GSM mobile telephone system.

Where reference is made in any one or more of the accompanying drawingsto steps and/or features, which have the same reference numerals, thosesteps and/or features have for the purposes of this description the samefunction(s) or operation(s), unless the contrary intention appears.

The apparatus for performing the operations of the disclosed methods ispreferably a general-purpose computer system 100. The computer system100 comprises a computer module 102, input devices such as a keyboard110, a mouse 112, an imaging device 108 and a microphone 109, and outputdevices including a display device 104. The imaging device 108 mayinclude for example a digital camera or a scanner. AModulator-Demodulator (Modem) transceiver device 106 is used by thecomputer module 102 for communicating to and from a communicationsnetwork 140, for example connectable via a telephone line or otherfunctional medium. The modem 106 can be used to obtain access to networksystems, such as the Internet, a Local Area Network (LAN) or a Wide AreaNetwork (WAN).

The computer module 101 typically includes at least one processor unit114, a memory unit 118, for example formed from semiconductor randomaccess memory (RAM) and read only memory (ROM), input/output (I/O)interfaces including a video interface 122, and I/O interfaces 116 and117. A storage device 124 is provided and typically includes a hard diskdrive 126 and a floppy disk drive 128. A CD-ROM drive 120 is typicallyprovided as a non-volatile source of data. The components 114 to 128 ofthe computer module 102, typically communicate via an interconnected bus130 and in a manner which results in a conventional mode of operation ofthe computer system 100 known to those in the relevant art.

In one of the simplest embodiments of watermarking, a watermark patternis added to an original signal. The signal may be a still image, a videosequence or an audio stream. It is preferable for such watermarkpatterns to be imperceptible to human observers of the signal. To aidimperceptibility, a perceptual mask may be used to amplify the embeddedmark in regions of high signal variation (where large signals are easyto hide) and to attenuate the watermark pattern in regions of lowvariation in the original signal.

In the detection of the watermark pattern in the resulting signal, it isdesirable to use a matching technique that gives a reliable signal whenthe watermark pattern is present and no signal when the watermarkpattern is not present. An optimum matching technique is correlation,and in particular, cross-correlation of the resulting signal with thewatermark pattern, which provides peaks in the correlation signal atlocations corresponding with positions where the watermark pattern wasembedded into the original signal. Furthermore, detecting patterns usingcorrelation performs equally well in one or more dimensions.

For detection of watermark patterns which have been perceptually maskedduring the watermarking operation, it is desirable to approximatelyinvert the masking. Once the inverse masking is performed,cross-correlation is performed on the resultant signal of the inversemasking and the watermark pattern.

When the watermark pattern is correlated with the summation of theoriginal signal and the watermark pattern, it is equivalent to the sumof cross-correlation between the watermark pattern and the originalsignal, and autocorrelation of the watermark pattern. The maincontribution to the correlation signal is made by the autocorrelationportion.

Most naturally occurring patterns have autocorrelation signals which arerather broad. In contrast, when the autocorrelation is calculated for awideband signal, that being a signal that has a spectral magnitude whichcovers a substantial part of the frequency domain, a much sharperautocorrelation signal is achieved. The spectral magnitude of a signalmay be evaluated by Fast Fourier transforming the sampled signal dataand a signal has a sharp autocorrelation signal if a peak of theautocorrelation is spread over a small number of samples. The spread ofthe autocorrelation signal of a given signal is inversely proportionalto the spectral bandwidth of that given signal. For example, theautocorrelation signal of a white-noise signal is close to a deltafunction.

In a watermarking system, whether applied to audio, images, video orthree-dimensional volumes, it is advantageous to use patterns forembedding which may be termed “white noise-like”, i.e. patterns thathave a broad spectral bandwidth and a narrow autocorrelation signal.Pseudo random noise patterns are therefore often used as watermarks forembedding, as such patterns have sharp autocorrelation signals, as wellas a large space of possible patterns. A measure of peak sharpness isthe Full Width Half Maximum (FWHM) defined as the width of the mainfrequency lobe at the points where the signal's spectrum value hasdropped by 50%. Accordingly, in the following, it is assumed that thepatterns chosen for embedding are wideband.

FIG. 6 shows a schematic diagram of a process 300 of detecting thepresence of a test pattern h(r) in a signal f(r). The test pattern h(r)is mathematically generated by the processor 114 using a test patternequation in step 310 and correlated with the signal f(r) in step 320 toform a correlation signal g(r). If the signal f(r) includes the testpattern h(r) such that:f(r)=k(r)+h(r)  (1)

-   -   where k(r) is the signal to which the test pattern h(r) was        added for watermarking, the test pattern h(r) would have little        or no correlation with signal k(r) and a significant correlation        peak in the correlation signal g(r) at the position where the        test pattern h(r) was added to signal k(r).

In pattern detection, the primary interest is the position of theunderlying peak and whether or not the underlying peak height is above acertain threshold value. The presence of signal k(r) to which the testpattern h(r) is added for watermarking results in “noise” in thecorrelation signal g(r). Attenuated peaks are thus often hidden amongstsuch noise, or alternatively, the noise may be mistaken for acorrelation peak. It is therefore desirable to test potentialcorrelation peaks to determine whether they are merely attenuated truepeaks, or merely noise.

The signals f(r) and h(r) are typically discrete signals, having a valuefor each n-dimensional sample space of r, and stored as n-dimensionalarrays in the memory 118 of the computer system 100 (FIG. 1). Thecorrelation of the discrete signal f(r) with the test pattern h(r) maybe performed for the one-dimensional case as follows: $\begin{matrix}{{g(x)} = {{{f(x)} \otimes {h(x)}} = {\frac{1}{M}{\sum\limits_{m = 0}^{M - 1}{{f\left( {x - m} \right)}{h^{*}(m)}}}}}} & (2)\end{matrix}$

-   -   for x=0, 1, 2, . . . , M−1 with M≧A+C−1, where A and C are the        sizes of the sampled arrays of signals f(x) and h(x)        respectively, and h*(x) is the complex conjugate of signal h(x).        As is known in the art, both signals f(x) and h(x) are “zero        padded” to length M before Equation (2) is evaluated, typically        by the processor 114.

Similar expressions hold for other dimensions. For any dimension thecorrelation theorem also provides the Fourier pair of:f(r){circle over (×)}h(r)

F(w)H*(w)  (3)

-   -   where w is a frequency variable, also having dimension n, and        F(w) and H(w) are the Discrete Fourier transforms of signals        f(r) and h(r) respectively.

FIGS. 2A and 2B show examples of two one-dimensional real signals f(x)and h(x) respectively, each comprising 64 sample values. FIG. 2C showsthe correlation function g(x) formed by correlating the example signalsf(x) and h(x) shown in FIGS. 2A and 2B respectively. With both signalsf(x) and h(x) being wideband, the correlation function g(x) has a peakspread over a limited number of sample intervals. The theoretical peakis not on a sample position thereby adding to the spread of the peakover a number of sample intervals and causing the attenuation of thepeak value by about 35%. The detected peak is at the origin, which maybe interpreted to mean that signal h(x) was not delayed before it wasadded to k(x) (not illustrated) to form signal f(x).

FIG. 4 shows a method 200 of enhanced peak detection in a correlationsignal g(r). The method 200 is preferably implemented as software, suchas an application program executing within the computer system 100 shownin FIG. 1. The application program may be stored in a computer readablemedium, including the storage devices described above, for example. Theapplication program is loaded into the computer from the computerreadable medium, and then executed by the processor 114 of the computersystem 100. A computer readable medium having such software or computerprogram recorded on it is a computer program product. The use of thecomputer program product in the computer preferably effects anadvantageous apparatus for enhanced peak detection in a correlationsignal g(r).

Typically, the application program is resident on the hard disk drive126 and read and controlled in its execution by the processor 114.Intermediate storage of the program and any data fetched from thenetwork 140 may be accomplished using the semiconductor memory 118,possibly in concert with the hard disk drive 126. In some instances, theapplication program may be supplied to the user encoded on a CD-ROM orfloppy disk and read via the corresponding drive 120 or 128, oralternatively may be read by the user from the network 120 via the modemdevice 106. Still further, the software can also be loaded into thecomputer system 100 from other computer readable media.

The method of enhanced peak detection in a correlation signal g(r) mayalternatively be implemented in dedicated hardware such as one or moreintegrated circuits performing the functions of enhanced peak detectionin a correlation signal g(r). Such dedicated hardware may includegraphic processors, digital signal processors, or one or moremicroprocessors and associated memories.

The method 200 starts in step 205 where signal f(r) is received as inputby the processor 114 and stored in memory 118. Signal f(r) is receivedfor testing whether the test pattern h(r) is present in signal f(r).Signal f(r) may be received in digitally sampled form previously storedon the storage device 124. Alternatively, such a digital signal f(r) maybe received from the communication network 140, may be formed by takingan image using imaging device 108 or formed by recording an audio signalusing microphone 109.

In step 210 the processor 114 then correlates signal f(r) with a testpattern h(r) to form correlation signal g(r). In the preferredarrangement, the test pattern h(r) is mathematically formed by theprocessor 114 from a mathematical equation. The test pattern h(r) mayalternatively be stored within the computer system 100.

FIG. 5 illustrates the process 500, performed by the processor 114, ofcalculating the correlation of signal f(r) with the test pattern h(r) toform correlation signal g(r). In step 505 the Fourier transform F(w) iscalculated of signal f(r) and stored in memory 118. In a similar mannerand in step 506, the Fourier transform H(w) is calculated of testpattern h(r). The complex conjugate H*(w) of the Fourier transform H(w)is also calculated in step 507.

The Fourier transform F(w) is multiplied by the processor 114 with thecomplex conjugate H*(W) for all values of frequency variable w in step510 to form a Fourier transform G(w). In the preferred arrangement, aspectral magnitude enhancement step 515 follows to form an enhancedFourier transform G′(w). The enhancement may include high boost spectralfiltering in which high frequency components of Fourier transform G(w)are enhanced. In an alternative arrangement a Phase Only Correlation isused instead of steps 510 and 515. Finally, in step 520, the correlationsignal g(r) is calculated by the processor 114 by performing an inverseFourier transform on the enhanced Fourier transform G′(w). Thecorrelation signal g(r) is also stored in memory 118.

Returning to method 200 shown in FIG. 4, with the correlation signalg(r) calculated, in step 215 the processor searches for peaks in themagnitude of correlation signal g(r). These peaks may include truepeaks, some of which are attenuated, and false peaks as a result ofnoise. In step 218 a priority queue is formed and stored in memory, thepriority queue containing the peaks detected in step 215, with the peaksin the priority queue ordered according to the magnitude values ofcorrelation signal g(r) at the peak positions.

Starting with the first peak on the priority queue, a region including apredetermined number of sample values of correlation signal g(r) isisolated around that peak to form correlation signal {tilde over (g)}(r)in step 220 by the processor 114. FIG. 3A shows the magnitude values ofsuch a correlation signal {tilde over (g)}(x) formed from isolating 8values around the peak of the example correlation signal g(x) shown inFIG. 2C.

The correlation signal {tilde over (g)}(r) is next up-sampled by theprocessor 114 using Fourier interpolation and at a higher sample ratewhich allows the underlying structure of the correlation signal {tildeover (g)}(r) to become visible. The Fourier interpolation providesup-sampling with no loss or attenuation of higher frequency componentsof the correlation signal {tilde over (g)}(r). In one implementation,interpolation using the chirp-z transform is used, as is known in theart. In another implementation of the Fourier interpolation the sincinterpolation kernel is used.

In the implementation described with reference to FIG. 4, zero paddingis used to up-sample the correlation signal {tilde over (g)}(r),starting in step 221 where the Fourier transform {tilde over (G)}(w) iscalculated of the correlation signal {tilde over (g)}(r). The Fouriertransform {tilde over (G)}(w) is then zero-padded in step 222 to formFourier transform {overscore (g)}(w) which includes N times the numberof samples in each dimension as does Fourier transform {tilde over(g)}(w). The inverse Fourier transform is next performed in step 225 onFourier transform {overscore (g)}(w) to form an up-sampled correlationsignal {overscore (g)}(r). This concludes the up-sampling steps.

The up-sampled correlation signal {overscore (g)}(r) of the examplecorrelation signal {tilde over (g)}(r) shown in FIG. 3A is shown in FIG.3B, where the example correlation signal {tilde over (g)}(r) has beenup-sampled by a factor of 8. In the example correlation signal {tildeover (g)}(r) the peak 601 is ½ a sample interval away from the true(theoretical) peak. In comparison, the peak 602 in FIG. 3B is now{fraction (1/16)}^(th) of the original sample spacing away from the truepeak and the value of the peak 602 is about 99.3% of the theoreticalvalue, allowing a peak value to be found. Accordingly, the up-samplingresulted in an enhancement of the detected peak allowing the underlyingvalue and its position to be better estimated. In particular, in theexample, the up-sampling represents a 56% enhancement of the detectedpeak. The enhanced position allows the position of an embedded patternin a watermark to be determined within a fraction of the samplinginterval. This is particularly useful when a message is encoded in theposition of the embedded pattern, making the detection of a correctposition necessary for decoding of the message.

To further illustrate the enhancement of the peak, FIG. 3D shows a “bestcase” correlation signal 603, having a peak 604 falling exactly on the5^(th) sample interval. When this correlation signal 603 is up-sampledin the manner described above, the up-sampled correlation signal 605results. It can be seen that the underlying structure of the up-sampledcorrelation signal {overscore (g)}(r) (FIG. 3B) corresponds with that ofthe up-sampled correlation signal 605 (FIG. 3D).

Step 230 follows the up-sampling steps, where the processor 114 searchesfor a peak in the up-sampled correlation signal {overscore (g)}(r). Instep 235 the processor 114 determined whether the peak found in step 230is above a predetermined threshold. If the peak is above thepredetermined threshold, parameters of the peak are stored in step 236and in memory 118. The parameters may include the modulus value of peakvalue, the phase of peak value, and position of peak value. The positionof the enhanced peak value may be used to better determine where apattern h(r) was embedded in the signal f(r).

From either step 235 or 236 the method 200 proceeds to step 240 wherethe processor 114 determines whether there are any peaks left in thepriority queue. If there are peaks left in the priority queue, then themethod 200 proceeds to step 220 where the processor 114 isolates aregion around a next peak in the priority queue to form the correlationsignal {tilde over (g)}(r). Steps 221 to 240 are repeated by theprocessor 114 with this correlation signal {tilde over (g)}(r), untilthe processor 114 determines in step 240 that all the peaks in thepriority queue have been processed. The method 200 then ends in step250.

Even though method 200 has been illustrated through use of aone-dimensional example, the method 200 is equally applicable to anyn-dimensional test pattern h(r) and signal f(r). The test pattern h(r)and signal f(r) may also be complex signals.

It is noted that up-sampling of the entire correlation signal g(r) ispossible, from which the peaks of the up-sampled signal may then befound. However, such a method is not computationally efficient. Forexample, consider the correlation of an 1024×1024 image f(r) with atemplate pattern h(r). The process 500 (FIG. 5) may be used. First theimage is zero padded (not illustrated in FIG. 5) to double its size ineach dimension, namely 2048×2048. Then it is transformed in step 505using the Fast Fourier Transform (FFT) to form another 2048×2048 signalF(w). The template pattern h(r) of size 2048×2048 is mathematicallyformed and then also transformed in step 506 using the FFT and complexconjugated in step 507 to form H*(W).

The two transforms F(w) and H*(w) are multiplied in step 510 and theproduct is inverse transformed in step 520 to form the correlationsignal g(r). In this example spectral magnitude enhancement (step 515)is not performed.

It is often preferable for the watermark pattern to have certaininvariant characteristics, such as scale invariance or rotationinvariance, for example. Logarithmic radial harmonic functions (LRHF)have rotational and scale invariance properties, yet do not necessarilyexhibit any obvious rotational symmetry. This makes patterns based onLRHF's the preferred pattern to use.

In two dimensions, the LRHF l of the preferred implementation is in theform:l _(mk)(x,y)=w(x,y).|x ² +y ²|^((ia) ^(m) ^(+p)/2) e ^(ikθ)  (4)

-   -   with k, p and α_(m) being parameters of the LRHF l, and w(x,y)        is a window function. The window function w(x,y) may be used to        remove or de-emphasise a central region of the basis pattern g        having frequencies above a predetermined frequency. FIGS. 7A and        7B show the real and imaginary parts respectively of a typical        two dimensional LRHF l_(mk) with parameters k=50 and α_(m)≅50.        As the LRHF l_(mk) has negative values in its real and imaginary        parts, the values the LRHF l_(mk) have been normalised around a        value of 127, with all values ranging from 0 to 255, 0        represented in black, 255 represented in white, and intermediate        levels represented in levels of grey.

In most cases the input signal f(r) is a real signal, and any watermarkpattern embedded therein can only have real values. Hence, a real partof a LRHF is used as the watermark pattern. However, the real part of aLRHF is not strictly speaking scale/rotation invariant, but ratherperiodically scale and rotation invariant.

However, the modulus of the cross-correlation of a real LRHF and acorresponding complex LRHF is substantially scale/rotation invariant.Hence, to overcome this difficulty, the (real) input signal f(r) iscorrelated with the full complex LRHF as pattern template h(r). Thisproperty of the LRHF makes the process 300 of detecting the presence ofa test pattern h(r) in a signal f(r) substantially invariant to scaleand rotation, even thought the embedded signal alone does not havestrict invariance.

The proposed method 200 of enhanced peak detection in a correlationsignal g(r) is particularly useful in watermarking systems using realwatermark patterns and complex template patterns. The method 200 ofenhanced peak detection typically allows significant increases indetection efficiency, especially when distortions such as scaling,rotation, and cropping have occurred.

The number of operations to determine the correlation signal g(r) is ofthe order R² log₂ R², where R=2048=2¹¹. This is in the region of 100million complex floating point operations. Now if the central 1024×1024region of the correlation function g(r) is up-sampled by a factor of 8,R=8×1024=2¹³ and the number of operation is of the order 1.7 billioncomplex floating point operations, a factor of 17 times more intensivethan correlation without up-sampling.

It is further noted that a peak searching algorithm applied to theup-sampling of the entire correlation signal g(r) requires many moreoperations than merely peak searching in the locally up-sampled regions,especially if it is required to order the peaks in terms of theirvalues.

The above is compared with the method 200 which only requiresup-sampling in the regions where potential peaks have been identified.The extra computation (above the 100 million baseline for correlation ofsignals h(r) and f(r)) is much smaller than the baseline. So forexample, if 20 peaks are searched for, but 1000 potential peaks areidentified, then a region of 8×8 around each of the potential peaks maybe up-sampled by a factor of 8. The number of complex floating pointoperations is of the order of 1000×64 log₂ 64=384,000. In other words,the extra computation takes 0.4% extra computation compared to 1700%extra computation for the full up-sampling approach.

The foregoing describes only some embodiments of the present invention,and modifications and/or changes can be made thereto without departingfrom the scope and spirit of the invention, the embodiments beingillustrative and not restrictive.

In the context of this specification, the word “comprising” means“including principally but not necessarily solely” or “having” or“including” and not “consisting only of”. Variations of the wordcomprising, such as “comprise” and “comprises” have correspondingmeanings.

1. A method of enhanced peak detection in a correlation signal, saidmethod comprising the steps of: (a) identifying in said correlationsignal at least one position with a modulus value above a firstpredetermined value; and (b) for each said identified positionperforming the steps of: (ba) forming a sub-signal by isolating a regionof samples of said correlation signal, said region comprisingsubstantially equal numbers of samples on opposite sides of saidposition; (bb) up-sampling said sub-signal to a higher resolution usingFourier interpolation; (bc) searching said up-sampled sub-signal for apeak value; and (bd) storing parameters associated with said peak valuewhen said peak value is greater than a second predetermined value.
 2. Amethod according to claim 1, wherein said parameters comprise at leastone of: modulus value of peak value; phase of peak value; and positionof peak value.
 3. A method according to claim 1, wherein Fourierinterpolation comprises the steps of: fourier transforming saidsub-signal; zero padding said sub-signal; and inverse Fouriertransforming said zero padded sub-signal.
 4. A method according to claim1, wherein said correlation signal is formed by correlating at least onewideband signal.
 5. A method according to claim 1, wherein said higherresolution is at least two times the resolution of said correlationsignal.
 6. An apparatus for enhanced peak detection in a correlationsignal, said apparatus comprising: means for identifying in saidcorrelation signal at least one position with a modulus value above afirst predetermined value; means for performing, on each identifiedposition, the steps of: forming a sub-signal by isolating a region ofsamples of said correlation signal, said region comprising substantiallyequal numbers of samples on opposite sides of said position; up-samplingsaid sub-signal to a higher resolution using Fourier interpolation;searching said up-sampled sub-signal for a peak value; and storingparameters associated with said peak value when said peak value isgreater than a second predetermined value.
 7. An apparatus according toclaim 6, wherein said parameters comprise at least one of: modulus valueof peak value; phase of peak value; and position of peak value.
 8. Anapparatus according to claim 6, wherein Fourier interpolation comprisesthe steps of: fourier transforming said sub-signal; zero padding saidsub-signal; and inverse Fourier transforming said zero paddedsub-signal.
 9. An apparatus according to claim 6, wherein saidcorrelation signal is formed by correlating at least one widebandsignal.
 10. An apparatus according to claim 6, wherein said higherresolution is at least two times the resolution of said correlationsignal.
 11. A computer program for enhanced peak detection in acorrelation signal, said program comprising: code for identifying insaid correlation signal at least one position with a modulus value abovea first predetermined value; code for, for each identified position,performing the steps of: forming a sub-signal by isolating a region ofsamples of said correlation signal, said region comprising substantiallyequal numbers of samples on opposite sides of said position; up-samplingsaid sub-signal to a higher resolution using Fourier interpolation;searching said up-sampled sub-signal for a peak value; and storingparameters associated with said peak value when said peak value isgreater than a second predetermined value.
 12. A computer programaccording to claim 11, wherein said parameters comprise at least one of:modulus value of peak value; phase of peak value; and position of peakvalue.
 13. A computer program according to claim 11, wherein Fourierinterpolation comprises the steps of: fourier transforming saidsub-signal; zero padding said sub-signal; and inverse Fouriertransforming said zero padded sub-signal.
 14. A computer programaccording to claim 11, wherein said correlation signal is formed bycorrelating at least one wideband signal.
 15. A method of detecting awatermark from a signal, said watermark having a basis pattern embedded,said method comprising the steps of: (a) maintaining a test pattern; (b)correlating said test pattern with said signal to form a correlationsignal; (c) identifying in said correlation signal at least one positionwith a modulus value above a first predetermined value; and (d) for eachsaid identified position performing the steps of: (da) forming asub-signal by isolating a region of samples of said correlation signal,said region comprising substantially equal numbers of samples onopposite sides of said position; (db) up-sampling said sub-signal to ahigher resolution using Fourier interpolation; (dc) searching saidup-sampled sub-signal for a peak value; and (dd) storing parametersassociated with said peak value when said peak value is greater than asecond predetermined value.
 16. A method according to claim 15, whereinsaid signal comprises one of: audio; image; and video.
 17. A methodaccording to claim 15, wherein Fourier interpolation comprises the stepsof: fourier transforming said sub-signal; zero padding said sub-signal;and inverse Fourier transforming said zero padded sub-signal.
 18. Amethod according to claim 15, wherein said test pattern and said basispattern are wideband signals.
 19. A method according to claim 15,wherein said higher resolution is at least two times the resolution ofsaid correlation signal.
 20. An apparatus for detecting a watermark froma signal, said watermark having a basis pattern embedded, said apparatuscomprising: means for maintaining a test pattern; means for correlatingsaid test pattern with said signal to form a correlation signal; meansfor identifying in said correlation signal at least one position with amodulus value above a first predetermined value; and means forperforming, for each said identified position, the steps of: forming asub-signal by isolating a region of samples of said correlation signal,said region comprising substantially equal numbers of samples onopposite sides of said position; up-sampling said sub-signal to a higherresolution using Fourier interpolation; searching said up-sampledsub-signal for a peak value; and storing parameters associated with saidpeak value when said peak value is greater than a second predeterminedvalue.
 21. An apparatus according to claim 20, wherein said signalcomprises one of: audio; image; and video.
 22. A program stored on amemory medium for detecting a watermark from a signal, said watermarkhaving a basis pattern embedded, said program comprising: code formaintaining a test pattern; code for correlating said test pattern withsaid signal to form a correlation signal; code for identifying in saidcorrelation signal at least one position with a modulus value above afirst predetermined value; and code for performing, for each saididentified position, the steps of: forming a sub-signal by isolating aregion of samples of said correlation signal, said region comprisingsubstantially equal numbers of samples on opposite sides of saidposition; up-sampling said sub-signal to a higher resolution usingFourier interpolation; searching said up-sampled sub-signal for a peakvalue; and storing parameters associated with said peak value when saidpeak value is greater than a second predetermined value.
 23. A programaccording to claim 22, wherein said signal comprises one of: audio;image; and video. 24-26. (canceled)